1. Field of the Invention
The present invention relates to video processing and, in particular, to computer-implemented processes and apparatuses for indexing video databases.
2. Description of the Related Art
Video cassettes, also called video tapes, are frequently utilized as storage media to store video data. For example, a videocassette may be utilized to store two hours of home video movies. A typical VHS video cassette may also be utilized to store six hours of video footage. Often consumers store many hours of home video per year as a family video diary. Video data stored in this manner typically consists of sequences of images or video frames that constitute one or more motion pictures, when displayed on a monitor. In addition to video cassettes, video databases may also be stored on other storage media such as CD-ROM or hard disk drives. Also, a video database may be stored in analog or digital format in the storage medium.
As an example of a video database, a consumer's collection of home video movies stored on one or more video cassettes can be considered to constitute a video database of the consumer. As another example, a surveillance camera in a convenience store or bank that records a new video frame every few seconds can also generate a video database that is stored on a storage medium such as a video cassette.
In terminology typically associated with video, a "video shot" is a sequence of video frames that occurs between two scene cuts or other transitions such as fades or cross-fades. Thus, a video shot is a sequence of continuously-filmed or produced video frames generated by a video camera. For example, if a video camera is turned on to film a new event, and switched off one minute later, the video frames recorded on the video cassette during this one-minute time interval constitute a video shot. Such video shots may include pans, tilts, zooms, and other effects. Transitions between video shots may be by way of abrupt scene cuts, or by fades, wipes, dissolves, and the like.
Video databases typically contain a plurality of video shots, and the number of video frames and video shots stored in a given database can be extremely large. It is often difficult to access the particular contents of such video databases, however. It is easy to forget what has been recorded, and even if a user is searching for a known event, image, or video frame, the user often has forgotten the date of the event, the video cassette on which the event is recorded, or the location of the event on a particular video cassette. Because humans view video sequences sequentially and because of the large number of video frames and shots stored in video databases, it is difficult to locate specific events or video frames within a video database by searching manually for the event.
For example, a consumer who has produced several hours of home video movies may desire to locate a particular event, such as a hot-air balloon show previously filmed by the consumer, to show to his friends or to edit for an edited home video collection. The hot-air balloon event may occupy several minutes of footage somewhere on one of a plurality of video cassettes, and may comprise dozens of sequential video shots taken during the filming of the event. To find this scene, the consumer may need to resort to tedious sequential, hunt-and-peck searching of various video cassettes that constitute the video database, until the desired location is found. Even running the video cassette at high speed, such searching may be impractical. Further, there is a limit to how fast a video cassette may be played and the user still recognize scenes displayed. As another example, a user of the above-described surveillance video database may need to visually scan the surveillance video in order to find a particular video frame or frames that depict suspicious activity, such as a shoplifting incident.
Users of video databases can sometimes prepare indexes of the video database to make locating particular scenes more efficient. For example, each time a consumer shoots a new video scene or films a new event, he can write down a short description of the event along with a correlation to the appropriate location on the cassette. Alternatively, an index may be prepared by the consumer while viewing the video footage stored within the database. The location on the particular video cassette may be denoted by a time index or a counter index, for example. Thus, the user-prepared index may indicate that the hot-air balloon event appears on video cassette number 12, starting at time 1:17:23 (in hours:minutes:seconds format) from the beginning of the video cassette, and/or at counter number 2351 from the beginning of the tape.
However, preparation of such indexes is inconvenient and may not be sufficiently detailed to allow the consumer to locate a specific scene, image, or event. Also, if an index is not prepared during the filming of the home video, many hours of non-indexed video cassettes can accumulate, making the manual preparation of an index extremely inconvenient and infeasible. Further, some video databases are generated automatically, such as the surveillance example described above, so that the content of the database is not known until it is viewed. In this case an index cannot be prepared other than be viewing the entire video database and recording a description of its contents.
There is thus a need for a method and apparatus for video database indexing that avoids these problems.
It is accordingly an object of this invention to overcome the disadvantages and drawbacks of the known art and to provide a computer-implemented method and apparatus for indexing video databases.
It is also an object of this invention to provide for more efficient locating of particular scenes or images within video databases.
It is a further related object of this invention to allow more efficient scanning of the contents of a video database.
Further objects and advantages of this invention will become apparent from the detailed description of a preferred embodiment which follows.